home *** CD-ROM | disk | FTP | other *** search
/ STraTOS 1997 April & May / STraTOS 1 - 1997 April & May.iso / CD01 / DISK / FRDM114E / PATCHED / CHMELEON.ENG < prev    next >
Encoding:
Text File  |  1995-03-12  |  11.5 KB  |  257 lines

  1.             The Chameleon  Vers. 1.19
  2.            ---------------------------
  3.                Karsten Isakovic 
  4.               Wilmersdorferstr 82
  5.                D-1000 Berlin 12
  6.  
  7.        Published by Markt&Technik-Verlag,
  8.        all rights reserved by the author
  9.  
  10. Everybody knows the following problems:
  11. ---------------------------------------
  12. - There are many, many useful DA, but one can't install them
  13.   all some at the same time. To install a new DA, you have to
  14.   reboot the system. This is the reason, why the MultiDAs came
  15.   up. They allowed to install more DAs than six. And there are
  16.   some MonsterDAs that give you everything you ever could need
  17.   under just one menu entry. These solutions often need lots
  18.   of memory, which is a rare on normal STs.
  19. - If you programm DAs it is very bad that you have to reboot
  20.   for every test. This costs time and nerves.
  21.  
  22. Now there is a new solution to this problem:
  23. --------------------------------------------
  24.   The CHAMELEON is an extrem short DA - about 5 KB -, that 
  25.   allows to load in every DA you need and - that's the clue
  26.   of the Chameleon - can unload DA if you don't need it
  27.   any more. Not only the main memory is freed, the Chameleon
  28.   frees all resources the DA demanded from the system.
  29.   
  30. Use
  31. ---
  32.   Copy the CHMELEON.ACC onto the boot disc and reboot. If you 
  33.   choose 'The Chameleon' from the DA-menu a file selector 
  34.   appears and you can select the DA, which is then loaded and
  35.   started.
  36.   
  37.   If you don't want to open the DA, hold down the left shift-
  38.   key, while selecting the name in the file selector by double-
  39.   clicking or while pressing the return key.
  40.  
  41.   After the DA is started, the Chameleon menu entry is replaced
  42.   by the menu entry of the DA. An arrow on the left side of the
  43.   enty shows that this DA was loaded with 'The Chameleon'.
  44.   
  45.   If the DA normaly  uses 2 menu entrys the menu text is split
  46.   in the middle. The right entry is selcted if you hold down
  47.   one of the shift keys while selecting the menu entry. If the
  48.   DA normaly uses 3 menu entrys you can select the middle entry
  49.   with the left shift key and the right entry with the right
  50.   shift key.
  51.  
  52.   Now you can use the DA, as if it was loaded after a reboot.
  53.  
  54.   If you want to remove the DA, just hold down the shift and
  55.   alternate keys and select the menu entry. If the DA had
  56.   opened some windows, these are closed. All memory the DA 
  57.   demanded is freed up and the normal 'The Chameleon' menu
  58.   entry appears in the DA menu.
  59.   
  60.   If you want to remove the DA and immediatly load another DA,
  61.   hold down the right mouse button in addition to the shift and
  62.   alternate key while selecting the menu entry.After the DA is
  63.   unloaded, the file selector comes up.
  64.   
  65. Installation for GEMINI users:
  66. ------------------------------
  67.   Test with 'env' in the MUPFEL, whether the SUFFIX contains
  68.   'acc'. If not insert it with 'setenv SUFFIX "$SUFFIX;acc" '.
  69.   The best way to do this is in the file MUPFEL.MUP.
  70.   Now you can select the CHMELEON.ACC an install it as default-
  71.   application for '*.AC?'.
  72.   The next step is to rename all other DAs to ACX, because with
  73.   the SUFFIX '*.ACC', GEMINI only test whether the DA is already
  74.   laoded. If you double click onto a file with the SUFFIX '*.ACX',
  75.   'The Chameleon' gets a message from GEMINI. The Chameleon loads
  76.   the selected DA and opens it. If there was already an DA loaded,
  77.   this DA is removed first.
  78.   
  79.   If you put a 'The Chameleon' icon onto the desktop of GEMINI,
  80.   you can drag DA onto the icon to load them in. If you drag
  81.   a text file onto the icon, this GEMINI message is passed to
  82.   to loaded DA. 
  83.   If the DA has also an icon on the desktop, you can load the
  84.   DA by dragging the DA icon onto the Chameleon icon.
  85.   If the DA receives GEMINI messages, it does not matter whether
  86.   you drag text files onto the icon of the DA or onto the 
  87.   Chameleon icon.
  88.   
  89. Default accessory:
  90. ------------------
  91.   Another speciality hides in the patch variables of Chameleon.
  92.   You can specify a default-DA that is loaded in at boot time.
  93.   So you can set up your normal configuration without loosing
  94.   the flexibility 'The Chameleon' offers to you.
  95.   The default is the ATARI control panel with the file name
  96.   CONTROL.ACX on the boot device. All preferences are set up
  97.   by the control panel. If you need another DA, just unload the
  98.   control panel and load the other DA.
  99.   
  100. Patch variables:
  101. ----------------
  102.   First: Make a copy of CHMELEON.ACC, bevor starting to 
  103.   experiment! You can only change the patch variables with a
  104.   disc monitor.
  105.  
  106.   It is very likely that there are collisions with the shift codes
  107.   that Chameleon uses, so you can change the combination.
  108.  
  109.   Right bevor the string 'V1.19 ╜K.Isakovic Berlin 09.10.90' you
  110.   find a '^', which is the delimiter between the patch variables.
  111.   It marks the longest possible space that you have to enter
  112.   path names, you should not overwrite it.
  113.   The first 2 bytes ($0A $02) in front of the ^ are the
  114.   shift combinations. The first bytes ($0A) is the combination
  115.   to remove an DA, the second ($02) is the combiantion that
  116.   tells Chameleon not to open up the DA, when you load it in.
  117.   If you set this value to $00, the DA is not opened up
  118.   automaticly, only if you press a shift key.
  119.  
  120.   These values are the hexadecimal value of the sum out of the
  121.   following table:
  122.  
  123.      Value | Key
  124.      ------+--------
  125.        1   | Right shift
  126.        2   | Left shift
  127.        4   | Control
  128.        8   | Alternate
  129.  
  130.   The bytes $0A stand for the value 10, which stands for left 
  131.   shift - alternate.
  132.  
  133.   In front of this two shift combinations you find the name of
  134.   the default DA. If the first byte after the '^' is $00 (default),
  135.   no DA is loaded in. Enter the absolute pathname of the DA
  136.   (i.e.  A:\CONTROL.ACX,  the drive specification is neccessary!).
  137.   If the drive 'A:\' is automaticly replaced with the boot drive.
  138.   If there is another dive letter than 'A', no modification takes
  139.   place. Don't forget to end the name with a NULL ($00) !
  140.   
  141.   In front of this you find yet another field seperated with
  142.   a '^'. In this field you can fill in the path, that is used
  143.   if you first select a DA in the file selctor. This feature
  144.   is very good, if all the DAs reside in a sub directory. The
  145.   drive letter is modified (or not) in the same manner as for the
  146.   dafault DA.
  147.   
  148.   The last patch variable is a byte value that tells the file
  149.   handle that Chameleon uses for output redirection. The value
  150.   $00 means no redirection at all. On the ST there is no NULL-
  151.   device that takes all input and does nothing, so Chameleon
  152.   redirects STDOUT to a file handle that is not opened. If the
  153.   DA writes to STDOUT, it only get's error-messages (and it
  154.   normaly ignores them). The GEMDOS supports 75 open files, the
  155.   default redirect handle is handle 74 ($4A). Chameleon also tests
  156.   whether this handle is in use and only redirects the STDOUT 
  157.   output if not.
  158.  
  159. Some details:
  160. -------------
  161.   'The Chameleon' is TOS indespended, it uses no illegal system-
  162.   variables. It hooks into the GEM- and GEMDOS-vector with the
  163.   XBRA-ID 'Cham'. The trap handler supports all from 68000 up
  164.   to 68030.
  165.  
  166.   If you choose the menu enty, a file selector appears and you
  167.   can select an DA. This DA is now loaded and started. In the
  168.   vectors, Chameleon protocolls every demand of system resources:
  169.   Windows, VDI-workstations, resource files, memory blocks and
  170.   also the loding of GDOS-fonts, hiding of the mouse... 
  171.   With this information 'The Chameleon' can restore the original
  172.   state.
  173.   
  174.   If the user want's to unload the DA, all system vectors are 
  175.   tested, whether they point into one of the memory blocks of
  176.   the DA. Chameleon follows XBRA chain.
  177.   If the DA hooked into the system, Chameleon can't remove it.
  178.   You get an alert with a warning. If the DA uses the XBRA 
  179.   convention to hook into the traps, 'The Chameleon' can unhook
  180.   it from the vectors.
  181.  
  182.   If a GEMINI-message arrives with the string '$KILL', the DA is
  183.   unloaded.
  184.  
  185.   If you change the resolution, a loaded DA is unload and the
  186.   chameleon trap handlers unhook from the system. This is only
  187.   possible if the XBRA-convention is used. If chameleon can't 
  188.   unhook, the system bombs. This is because all DAs are removed
  189.   but the now no-longer-existing trap handler is called.
  190.   
  191.   Some DAs write a text message to the screen. If you load in
  192.   such a DA from the desktop, this would overwrite the menubar.
  193.   This is the reaseon why 'The Chameleon' redirects these
  194.   output to an unopened file.
  195.  
  196. Known problems:
  197. ---------------
  198. - You can limit the memory segmentation, if you free the DA on
  199.   the desktop. If now select a text file and show it up, the
  200.   desktop reorganises it's memory.
  201. - If you load in reset resident ram disks, these ram disks modify
  202.   the MEMTOP-variable which is not restored by Chameleon. If you
  203.   load the DA again, the ram disk data has not changed.
  204. - If the DA doesn't use a menu entry, 'The Chameleon' writes
  205.   the file name with two arrows into the menu entry. 
  206.  
  207. A little hint:
  208. --------------
  209.   If you install two Chameleons, you only need 11 KB memory, but
  210.   you always can load the DAs that you need.
  211.  
  212. History
  213. -------
  214. The Chameleon had a very long testing phase. It could load DAs
  215. since the version 0.00. Up to the version 0.37, many improvements
  216. were made. The publishing date came nearer and nearer, so i named
  217. the next version 1.00. Some testers very already happy with the 
  218. version 0.11, after 0.28 no tester had any problems. The next
  219. versions (0.28--0.37, 1.00-1.19) only small changes were made.
  220. Since the version 1.07 the chameleon can load a default DA, 
  221. 1.12 was the first version that could free DAs that use no
  222. menu entry. Since 1.13 the STDOUT redirection is implemented.
  223.  
  224. Near future:
  225. ------------
  226. I am already testing a 2.00 version, that offers code-sharing.
  227. Only the first Chameleon needs 6 KB. You also have 'little'
  228. Chameleons with 450 bytes, that use the code of the 'big' one.
  229. Redirection is done with another trick and there are other
  230. improvements. I will release the version 2.00 at XMAS 1990.
  231.  
  232. ******************************************************************
  233. *                                                                *
  234. *  Only if the files                                             *
  235. *                                                                *
  236. *    CHMELEON.ACC and CHMELEON.TXT                               *
  237. *                                                                *
  238. * are not modified, private users are allowed to copy and use    *
  239. * 'The Chameleon' for free.                                      *
  240. *                                                                *
  241. * All rights (copyright,distribution...) for 'The Chameleon'     *
  242. * remain at the author (K.Isakovic).                             *
  243. * A commercial use in any form (also includes the distribution   *
  244. * on public-domain discs or simular) is NOT ALLOWED.             *
  245. *                                                                *
  246. * You get the latest version from the author or in the german    *
  247. * MAUS mailbox net.                                              *
  248. *                                                                *
  249. ******************************************************************
  250.  
  251. I know that my english is not good, but I hope that you understood,
  252. what I meant. A 'bad' manual is better than 'no' manual.
  253.  
  254. Yours Sincerly
  255.  
  256.    Karsten Isakovic,          11.12.1990 very late at night
  257.